package socket.myRPC.proxy.impl;

import java.lang.reflect.Proxy;

public class MyProxy {
  
  /**
   * 这里 对 Get Proxy 进行代理
   *
   * @param interfaceInfo 类 class。比如 Person.class
   * @author lihh
   */
  @SuppressWarnings("unchecked")
  public static <T> T proxyGet(Class<T> interfaceInfo) {
    // 拿到 类的 ClassLoader
    ClassLoader classLoader = interfaceInfo.getClassLoader();
    // 表示 Class 数组
    Class<?>[] methodInfo = {interfaceInfo};
    
    return (T) Proxy.newProxyInstance(classLoader, methodInfo, new InvocationHandlerImpl(interfaceInfo));
  }
}
